home *** CD-ROM | disk | FTP | other *** search
-
- (*----------------------------------------------------------------------*)
- (* Get_Parameter --- Get value of PibTerm parameter *)
- (*----------------------------------------------------------------------*)
-
- PROCEDURE Get_Parameter( Param_Num : INTEGER;
- VAR Param_Str : AnyStr );
-
- (*----------------------------------------------------------------------*)
- (* *)
- (* Procedure: Get Parameter *)
- (* *)
- (* Purpose: Get value of PibTerm parameter *)
- (* *)
- (* Calling Sequence: *)
- (* *)
- (* Get_Parameter( Param_Num : INTEGER; *)
- (* VAR Param_Str : AnyStr ); *)
- (* *)
- (* Param_Num --- Parameter to get *)
- (* Param_Str --- string parameter value *)
- (* *)
- (*----------------------------------------------------------------------*)
-
- VAR
- I : INTEGER;
-
- LABEL EndCase;
-
- LABEL
- L0, L1, L2, L3, L4, L5, L6, L7, L8, L9,
- L10, L11, L12, L13, L14, L15, L16, L17, L18, L19,
- L20, L21, L22, L23, L24, L25, L26, L27, L28, L29,
- L30, L31, L32, L33, L34, L35, L36, L37, L38, L39,
- L40, L41, L42, L43, L44, L45, L46, L47, L48, L49,
- L50, L51, L52, L53, L54, L55, L56, L57, L58, L59,
- L60, L61, L62, L63, L64, L65, L66, L67, L68, L69,
- L70, L71, L72, L73, L74, L75, L76, L77, L78, L79,
- L80, L81, L82, L83, L84, L85, L86, L87, L88, L89,
- L90, L91, L92, L93, L94, L95, L96, L97, L98, L99,
- L100, L101, L102, L103, L104, L105, L106, L107, L108, L109,
- L110, L111, L112, L113, L114, L115, L116, L117, L118, L119,
- L120, L121, L122, L123, L124, L125, L126, L127, L128, L129,
- L130, L131, L132, L133, L134, L135, L136, L137, L138, L139,
- L140, L141, L142, L143, L144, L145, L146, L147, L148, L149,
- L150, L151, L152, L153, L154, L155, L156, L157, L158, L159,
- L160, L161, L162, L163, L164, L165, L166, L167, L168, L169,
- L170, L171, L172, L173, L174;
-
- (*----------------------------------------------------------------------*)
-
- FUNCTION IToS( I: INTEGER ) : ShortStr;
-
- VAR
- S: ShortStr;
-
- BEGIN (* IToS *)
-
- STR( I , S );
- IToS := S;
-
- END (* IToS *);
-
- (*----------------------------------------------------------------------*)
-
- FUNCTION RToS( R: REAL ) : ShortStr;
-
- VAR
- S: ShortStr;
-
- BEGIN (* RToS *)
-
- STR( R:10:0 , S );
- RToS := LTRIM( S );
-
- END (* RToS *);
-
- (*----------------------------------------------------------------------*)
-
- FUNCTION BToS( B: BOOLEAN ) : ShortStr;
-
- VAR
- S: ShortStr;
-
- BEGIN (* BToS *)
-
- BToS := CHR( ORD( B ) + ORD( '0' ) );
-
- END (* BToS *);
-
- (*----------------------------------------------------------------------*)
-
- BEGIN (* Get_Parameter *)
- (* Use jump table to avoid time-consuming *)
- (* CASE statement. *)
- INLINE(
- $8B/$9E/>PARAM_NUM { MOV BX,[BP+>Param_Num] ;Pick up parameter # to set}
- /$89/$D8 { MOV AX,BX ;#}
- /$D1/$E3 { SHL BX,1 ;# * 2}
- /$01/$C3 { ADD BX,AX ;# * 3}
- /$B8/>*+6 { MOV AX,>*+6 ;Address of first GOTO}
- /$01/$C3 { ADD BX,AX ;Add offset of paramater}
- /$FF/$E3 { JMP BX ;Branch to proper GOTO}
- );
- GOTO L0;
- GOTO L1;
- GOTO L2;
- GOTO L3;
- GOTO L4;
- GOTO L5;
- GOTO L6;
- GOTO L7;
- GOTO L8;
- GOTO L9;
- GOTO L10;
- GOTO L11;
- GOTO L12;
- GOTO L13;
- GOTO L14;
- GOTO L15;
- GOTO L16;
- GOTO L17;
- GOTO L18;
- GOTO L19;
- GOTO L20;
- GOTO L21;
- GOTO L22;
- GOTO L23;
- GOTO L24;
- GOTO L25;
- GOTO L26;
- GOTO L27;
- GOTO L28;
- GOTO L29;
- GOTO L30;
- GOTO L31;
- GOTO L32;
- GOTO L33;
- GOTO L34;
- GOTO L35;
- GOTO L36;
- GOTO L37;
- GOTO L38;
- GOTO L39;
- GOTO L40;
- GOTO L41;
- GOTO L42;
- GOTO L43;
- GOTO L44;
- GOTO L45;
- GOTO L46;
- GOTO L47;
- GOTO L48;
- GOTO L49;
- GOTO L50;
- GOTO L51;
- GOTO L52;
- GOTO L53;
- GOTO L54;
- GOTO L55;
- GOTO L56;
- GOTO L57;
- GOTO L58;
- GOTO L59;
- GOTO L60;
- GOTO L61;
- GOTO L62;
- GOTO L63;
- GOTO L64;
- GOTO L65;
- GOTO L66;
- GOTO L67;
- GOTO L68;
- GOTO L69;
- GOTO L70;
- GOTO L71;
- GOTO L72;
- GOTO L73;
- GOTO L74;
- GOTO L75;
- GOTO L76;
- GOTO L77;
- GOTO L78;
- GOTO L79;
- GOTO L80;
- GOTO L81;
- GOTO L82;
- GOTO L83;
- GOTO L84;
- GOTO L85;
- GOTO L86;
- GOTO L87;
- GOTO L88;
- GOTO L89;
- GOTO L90;
- GOTO L91;
- GOTO L92;
- GOTO L93;
- GOTO L94;
- GOTO L95;
- GOTO L96;
- GOTO L97;
- GOTO L98;
- GOTO L99;
- GOTO L100;
- GOTO L101;
- GOTO L102;
- GOTO L103;
- GOTO L104;
- GOTO L105;
- GOTO L106;
- GOTO L107;
- GOTO L108;
- GOTO L109;
- GOTO L110;
- GOTO L111;
- GOTO L112;
- GOTO L113;
- GOTO L114;
- GOTO L115;
- GOTO L116;
- GOTO L117;
- GOTO L118;
- GOTO L119;
- GOTO L120;
- GOTO L121;
- GOTO L122;
- GOTO L123;
- GOTO L124;
- GOTO L125;
- GOTO L126;
- GOTO L127;
- GOTO L128;
- GOTO L129;
- GOTO L130;
- GOTO L131;
- GOTO L132;
- GOTO L133;
- GOTO L134;
- GOTO L135;
- GOTO L136;
- GOTO L137;
- GOTO L138;
- GOTO L139;
- GOTO L140;
- GOTO L141;
- GOTO L142;
- GOTO L143;
- GOTO L144;
- GOTO L145;
- GOTO L146;
- GOTO L147;
- GOTO L148;
- GOTO L149;
- GOTO L150;
- GOTO L151;
- GOTO L152;
- GOTO L153;
- GOTO L154;
- GOTO L155;
- GOTO L156;
- GOTO L157;
- GOTO L158;
- GOTO L159;
- GOTO L160;
- GOTO L161;
- GOTO L162;
- GOTO L163;
- GOTO L164;
- GOTO L165;
- GOTO L166;
- GOTO L167;
- GOTO L168;
- GOTO L169;
- GOTO L170;
- GOTO L171;
- GOTO L172;
- GOTO L173;
- GOTO L174;
- (* Parameter settings follow *)
- L0 : GOTO EndCase;
- L1 : Param_Str := IToS( Data_Bits );
- GOTO EndCase;
- L2 : Param_Str := Parity;
- GOTO EndCase;
- L3 : Param_Str := IToS( Stop_Bits );
- GOTO EndCase;
- L4 : Param_Str := IToS( Baud_Rate );
- GOTO EndCase;
- L5 : Param_Str := IToS( Comm_Port );
- GOTO EndCase;
- L6 : Param_Str := IToS( ORD( BS_Char ) );
- GOTO EndCase;
- L7 : Param_Str := IToS( ORD( Ctrl_BS_Char ) );
- GOTO EndCase;
- L8 : Param_Str := IToS( ORD( Terminal_To_Emulate ) );
- GOTO EndCase;
- L9 : Param_Str := BTos( Logging_On );
- GOTO EndCase;
- L10 : Param_Str := BToS( Add_Lf );
- GOTO EndCase;
- L11 : Param_Str := Write_Ctrls( Modem_Init );
- GOTO EndCase;
- L12 : Param_Str := Write_Ctrls( Modem_Dial );
- GOTO EndCase;
- L13 : Param_Str := Write_Ctrls( Modem_Connect );
- GOTO EndCase;
- L14 : Param_Str := Write_Ctrls( Modem_No_Carrier );
- GOTO EndCase;
- L15 : Param_Str := Write_Ctrls( Modem_Busy );
- GOTO EndCase;
- L16 : Param_Str := Write_Ctrls( Modem_Escape );
- GOTO EndCase;
- L17 : Param_Str := IToS( Modem_Escape_Time );
- GOTO EndCase;
- L18 : Param_Str := Write_Ctrls( Modem_Hang_Up );
- GOTO EndCase;
- L19 : Param_Str := RToS( Modem_Time_Out );
- GOTO EndCase;
- L20 : Param_Str := RToS( Modem_Redial_Delay );
- GOTO EndCase;
- L21 : Param_Str := BToS( Silent_Mode );
- GOTO EndCase;
- L22 : Param_Str := BToS( Play_Music_On );
- GOTO EndCase;
- L23 : Param_Str := BToS( Local_Echo );
- GOTO EndCase;
- L24 : Param_Str := Write_Ctrls( FK_CR );
- GOTO EndCase;
- L25 : Param_Str := Write_Ctrls( FK_Delay );
- GOTO EndCase;
- L26 : Param_Str := Write_Ctrls( FK_Wait_For );
- GOTO EndCase;
- L27 : Param_Str := Trans_Type_Name[ Default_Transfer_Type ];
- GOTO EndCase;
- L28 : Param_Str := Screen_Dump_Name;
- GOTO EndCase;
- L29 : Param_Str := IToS( GMT_Difference );
- GOTO EndCase;
- L30 : Param_Str := IToS( Transfer_Bells );
- GOTO EndCase;
- L31 : Param_Str := Write_Ctrls( Modem_Answer );
- GOTO EndCase;
- L32 : Param_Str := Write_Ctrls( Modem_Host_Set );
- GOTO EndCase;
- L33 : Param_Str := Write_Ctrls( FK_Ctrl_Mark );
- GOTO EndCase;
- L34 : IF New_Text_Mode = BW80 THEN
- Param_Str := 'M'
- ELSE
- Param_Str := 'C';
- GOTO EndCase;
- L35 : Param_Str := IToS( New_ForeGround_Color );
- GOTO EndCase;
- L36 : Param_Str := IToS( New_BackGround_Color );
- GOTO EndCase;
- L37 : Param_Str := IToS( New_Menu_Text_Color );
- GOTO EndCase;
- L38 : Param_Str := IToS( New_Menu_Frame_Color );
- GOTO EndCase;
- L39 : Param_Str := IToS( Modem_Command_Delay );
- GOTO EndCase;
- L40 : Param_Str := BToS( CompuServe_B_On );
- GOTO EndCase;
- L41 : Param_Str := BToS( Mahoney_On );
- GOTO EndCase;
- L42 : Param_Str := Default_Prefix;
- GOTO EndCase;
- L43 : Param_Str := IToS( Max_Review_Length );
- GOTO EndCase;
- L44 : Param_Str := BToS( Exploding_Menus );
- GOTO EndCase;
- L45 : Param_Str := BToS( Modem_Carrier_High );
- GOTO EndCase;
- L46 : Param_Str := IToS( Max_Write_Buffer );
- GOTO EndCase;
- L47 : Param_Str := BToS( Host_Auto_Baud );
- GOTO EndCase;
- L48 : Param_Str := IToS( VT100_BackGround_Color );
- GOTO EndCase;
- L49 : Param_Str := IToS( VT100_ForeGround_Color );
- GOTO EndCase;
- L50 : Param_Str := IToS( VT100_Bold_Color );
- GOTO EndCase;
- L51 : Param_Str := IToS( VT100_Underline_Color );
- GOTO EndCase;
- L52 : Param_Str := Kermit_Chk_Type;
- GOTO EndCase;
- L53 : Param_Str := BToS( Kermit_Debug );
- GOTO EndCase;
- L54 : Param_Str := Write_Ctrls( Kermit_EOL );
- GOTO EndCase;
- L55 : Param_Str := Write_Ctrls( Kermit_Header_Char );
- GOTO EndCase;
- L56 : Param_Str := IToS( Kermit_Npad );
- GOTO EndCase;
- L57 : Param_Str := Write_Ctrls( Kermit_Pad_Char );
- GOTO EndCase;
- L58 : Param_Str := Write_Ctrls( Kermit_Quote_Char );
- GOTO EndCase;
- L59 : Param_Str := Write_Ctrls( Kermit_Repeat_Char );
- GOTO EndCase;
- L60 : Param_Str := IToS( Kermit_Init_Packet_Size );
- GOTO EndCase;
- L61 : Param_Str := IToS( Kermit_TimeOut );
- GOTO EndCase;
- L62 : Param_Str := IToS( Kermit_Delay_Time );
- GOTO EndCase;
- L63 : Param_Str := Write_Ctrls( Kermit_Quote_8_Char );
- GOTO EndCase;
- L64 : Param_Str := Write_Ctrls( Default_Postfix );
- GOTO EndCase;
- L65 : Param_Str := BToS( Write_Screen_Memory_Par );
- GOTO EndCase;
- L66 : Param_Str := BToS( Alter_Baud_Rate );
- GOTO EndCase;
- L67 : Param_Str := BToS( Exact_Capture );
- GOTO EndCase;
- L68 : Param_Str := Write_Ctrls( FK_Script_Ch );
- GOTO EndCase;
- L69 : Param_Str := BToS( Check_CTS );
- GOTO EndCase;
- L70 : Param_Str := BToS( Check_DSR );
- GOTO EndCase;
- L71 : Param_Str := Write_Ctrls( Modem_Host_UnSet );
- GOTO EndCase;
- L72 : Param_Str := Write_Ctrls( Modem_Dial_End );
- GOTO EndCase;
- L73 : Param_Str := BToS( Hard_Wired );
- GOTO EndCase;
- L74 : Param_Str := IToS( Break_Length );
- GOTO EndCase;
- L75 : Param_Str := Download_Dir_Path;
- GOTO EndCase;
- L76 : Param_Str := IToS( Gossip_Window_Size );
- GOTO EndCase;
- L77 : Param_Str := BToS( Gossip_Line_Mode );
- GOTO EndCase;
- L78 : Param_Str := Graphics_Dump_Name;
- GOTO EndCase;
- L79 : Param_Str := Write_Ctrls( Script_Parameter_Marker );
- GOTO EndCase;
- L80 : Param_Str := IToS( Kermit_Window_Size );
- GOTO EndCase;
- L81 : Param_Str := BToS( Drop_Dtr_At_End );
- GOTO EndCase;
- L82 : Param_Str := BToS( Close_Comm_For_Dos );
- GOTO EndCase;
- L83 : Param_Str := BToS( Use_Short_Dial_Menu );
- GOTO EndCase;
- L84 : Param_Str := BToS( Wait_For_Retrace_Par );
- GOTO EndCase;
- L85 : Param_Str := Editor_Name;
- GOTO EndCase;
- L86 : Param_Str := Browser_Name;
- GOTO EndCase;
- L87 : Param_Str := BToS( Show_Status_Line );
- GOTO EndCase;
- L88 : Param_Str := BToS( Show_Status_Time );
- GOTO EndCase;
- L89 : Param_Str := Write_Ctrls( Printer_Setup );
- GOTO EndCase;
- L90 : Param_Str := BToS( Do_Xon_Xoff_Checks );
- GOTO EndCase;
- L91 : Param_Str := IToS( New_Border_Color );
- GOTO EndCase;
- L92 : Param_Str := IToS( VT100_Border_Color );
- GOTO EndCase;
- L93 : Param_Str := Write_Ctrls( VT100_Answerback_Message );
- GOTO EndCase;
- L94 : Param_Str := BToS( Downsize_Ymodem );
- GOTO EndCase;
- L95 : Param_Str := BToS( Evict_Partial_Trans );
- GOTO EndCase;
- L96 : Param_Str := IToS( Script_Learn_Buffer_Size );
- GOTO EndCase;
- L97 : Param_Str := IToS( Script_Learn_Lines );
- GOTO EndCase;
- L98 : BEGIN
- CASE Date_Format OF
- YMD_Style: Param_Str := 'YMD';
- MDY_Style: Param_Str := 'MDY';
- DMY_Style: Param_Str := 'DMY';
- END (* CASE *);
- END;
- GOTO EndCase;
- L99 : BEGIN
- IF ( Time_Format = AMPM_Time ) THEN
- Param_Str := 'AMPM'
- ELSE IF ( Time_Format = Military_Time ) THEN
- Param_Str := 'MILITARY';
- END;
- GOTO EndCase;
- L100: Param_Str := Script_Path;
- GOTO EndCase;
- L101: ;
- GOTO EndCase;
- L102: Param_Str := IToS( Dialing_Dir_Size_Max );
- GOTO EndCase;
- L103: Param_Str := Function_Key_Path;
- GOTO EndCase;
- L104: Param_Str := Host_Mode_Download;
- GOTO EndCase;
- L105: Param_Str := Host_Mode_Upload;
- GOTO EndCase;
- L106: Param_Str := RToS( Host_Mode_Blank_Time );
- GOTO EndCase;
- L107: Param_Str := BToS( Use_Ymodem_Header );
- GOTO EndCase;
- L108: Param_Str := IToS( ORD( Script_Search_Order ) );
- GOTO EndCase;
- L109: Param_Str := BToS( Use_Block_Zero );
- GOTO EndCase;
- L110: Param_Str := BToS( Extended_Keypad );
- GOTO EndCase;
- L111: Param_Str := Write_Ctrls( Kermit_Handshake_Char );
- GOTO EndCase;
- L112: WITH Menu_Box_Chars DO
- Param_Str := Top_Left_Corner +
- Top_Line +
- Top_Right_Corner +
- Right_Line +
- Bottom_Right_Corner +
- Bottom_Line +
- Bottom_Left_Corner +
- Left_Line;
- GOTO EndCase;
- L113: Param_Str := IToS( Command_Key );
- GOTO EndCase;
- L114: Param_Str := BToS( Attended_Mode );
- GOTO EndCase;
- L115: Param_Str := IToS( Ascii_Char_Delay );
- GOTO EndCase;
- L116: Param_Str := IToS( Ascii_Line_Delay );
- GOTO EndCase;
- L117: Param_Str := IToS( ORD( Ascii_Pacing_Char ) );
- GOTO EndCase;
- L118: Param_Str := BToS( Ascii_Send_Asis );
- GOTO EndCase;
- L119: Param_Str := Write_Ctrls( Ascii_CR_LF_String );
- GOTO EndCase;
- L120: Param_Str := BToS( Ascii_Send_Blank );
- GOTO EndCase;
- L121: Param_Str := BToS( Ascii_Use_CtrlZ );
- GOTO EndCase;
- L122: Param_Str := BToS( Ascii_Show_Text );
- GOTO EndCase;
- L123: Param_Str := BToS( Ascii_Translate );
- GOTO EndCase;
- L124: Param_Str := BToS( Edit_Insert_Mode );
- GOTO EndCase;
- L125: Param_Str := IToS( Xmodem_Char_Wait );
- GOTO EndCase;
- L126: Param_Str := IToS( Xmodem_Ack_Wait );
- GOTO EndCase;
- L127: Param_Str := IToS( Xmodem_Max_Errors );
- GOTO EndCase;
- L128: Param_Str := IToS( Xmodem_Block_Wait );
- GOTO EndCase;
- L129: Param_Str := BToS( Auto_Load_FunKeys );
- GOTO EndCase;
- L130: Param_Str := BToS( Use_Dos_Buffer_In );
- GOTO EndCase;
- L131: Param_Str := Host_CTTY_Device;
- GOTO EndCase;
- L132: Param_Str := BToS( YTerm_On );
- GOTO EndCase;
- L133: Param_Str := BToS( Use_Dos_Con_Output );
- GOTO EndCase;
- L134: Param_Str := BToS( Auto_Unload_Scripts );
- GOTO EndCase;
- L135: Param_Str := Write_Ctrls( Modem_Ring );
- GOTO EndCase;
- L136: Param_Str := IToS( Max_Screen_Line );
- GOTO EndCase;
- L137: Param_Str := IToS( Max_Screen_Col );
- GOTO EndCase;
- L138: Param_Str := IToS( Async_Buffer_Length );
- GOTO EndCase;
- L139: Param_Str := IToS( Async_OBuffer_Length );
- GOTO EndCase;
- L140: Param_Str := '';
- GOTO EndCase;
- L141: Param_Str := BToS( Auto_Find_FileNames );
- GOTO EndCase;
- L142: Param_Str := Dec_To_Hex( Default_Com_Base[1] );
- GOTO EndCase;
- L143: Param_Str := Dec_To_Hex( Default_Com_Base[2] );
- GOTO EndCase;
- L144: Param_Str := Dec_To_Hex( Default_Com_Base[3] );
- GOTO EndCase;
- L145: Param_Str := Dec_To_Hex( Default_Com_Base[4] );
- GOTO EndCase;
- L146: Param_Str := IToS( Default_Com_Irq[1] );
- GOTO EndCase;
- L147: Param_Str := IToS( Default_Com_Irq[2] );
- GOTO EndCase;
- L148: Param_Str := IToS( Default_Com_Irq[3] );
- GOTO EndCase;
- L149: Param_Str := IToS( Default_Com_Irq[4] );
- GOTO EndCase;
- L150: Param_Str := Dec_To_Hex( Default_Com_RS232[1] );
- GOTO EndCase;
- L151: Param_Str := Dec_To_Hex( Default_Com_RS232[2] );
- GOTO EndCase;
- L152: Param_Str := Dec_To_Hex( Default_Com_RS232[3] );
- GOTO EndCase;
- L153: Param_Str := Dec_To_Hex( Default_Com_RS232[4] );
- GOTO EndCase;
- L154: Param_Str := User_Term_Name[1];
- GOTO EndCase;
- L155: Param_Str := User_Term_Name[2];
- GOTO EndCase;
- L156: Param_Str := User_Term_Name[3];
- GOTO EndCase;
- L157: Param_Str := IToS( Status_BackGround_Color );
- GOTO EndCase;
- L158: Param_Str := IToS( Status_ForeGround_Color );
- GOTO EndCase;
- L159: Param_Str := BToS( Reverse_Status_Colors );
- GOTO EndCase;
- L160: Param_Str := IToS( New_Menu_Text_Color_2 );
- GOTO EndCase;
- L161: Param_Str := IToS( New_Menu_Title_Color );
- GOTO EndCase;
- L162: Param_Str := BToS( Auto_Change_Arrows );
- GOTO EndCase;
- L163: Param_Str := BToS( Auto_Strip_High_Bit );
- GOTO EndCase;
- L164: Param_Str := IToS( Zmodem_BlockSize );
- GOTO EndCase;
- L165: Param_Str := FileName;
- GOTO EndCase;
- L166: Param_Str := IToS( FK_Delay_Time );
- GOTO EndCase;
- L167: Param_Str := BToS( Software_Scroll_Par );
- GOTO EndCase;
- L168: Param_Str := BToS( Use_Prev_Key_Text );
- GOTO EndCase;
- L169: Param_Str := BToS( Send_Upper_Case_Only );
- GOTO EndCase;
- L170: Param_Str := IToS( Kermit_Extended_Block );
- GOTO EndCase;
- L171: Param_Str := User_Term_Name[4];
- GOTO EndCase;
- L172: Param_Str := User_Term_Name[5];
- GOTO EndCase;
- L173: IF Host_Mode THEN
- Param_Str := Privilege
- ELSE
- Param_Str := ' ';
- GOTO EndCase;
- L174: Param_Str := BToS( ATI_Ega_Wonder );
-
- EndCase:
-
- END (* Get_Parameter *);
-
- (*----------------------------------------------------------------------*)
- (* Write_Config_File --- Write updated PibTerm configuration file *)
- (*----------------------------------------------------------------------*)
-
- PROCEDURE Write_Config_File( Config_File_Name : AnyStr );
-
- (*----------------------------------------------------------------------*)
- (* *)
- (* Procedure: Write_Config_File *)
- (* *)
- (* Purpose: Writes updated parameters to PibTerm config. file *)
- (* *)
- (* Calling Sequence: *)
- (* *)
- (* Write_Config_File; *)
- (* *)
- (* Calls: Get_Parameter *)
- (* *)
- (*----------------------------------------------------------------------*)
-
- VAR
- S : AnyStr;
- I : INTEGER;
- Written : ARRAY[1..Max_Param_Names] OF BOOLEAN;
- SName : String12;
- RName : String12;
- T : Transfer_Type;
- SingleF : CHAR;
- HostOK : CHAR;
- Config_File: Text_File;
-
- BEGIN (* Write_Config_File *)
- (* Fix up config file name *)
-
- IF ( LENGTH( Config_File_Name ) = 0 ) THEN
- Config_File_Name := Home_Dir + 'PIBTERM.CNF'
- ELSE
- IF ( POS( '\' , Config_File_Name ) = 0 ) AND
- ( POS( ':' , Config_File_Name ) = 0 ) THEN
- Config_File_Name := Home_Dir + Config_File_Name;
-
- ASSIGN( Config_File, Config_File_Name );
- (*$I-*)
- REWRITE( Config_File );
- (*$I+*)
-
- IF Int24Result <> 0 THEN
- BEGIN
- WRITELN;
- WRITELN('Can''t write to ',Config_File_Name);
- END
- ELSE
- BEGIN (* Write configuration file *)
-
- (* FC= *)
- Get_Parameter( 24 , S );
- WRITELN( Config_File , Param_Names_2[24], '=', S );
-
- (* FD= *)
- Get_Parameter( 25 , S );
- WRITELN( Config_File , Param_Names_2[25], '=', S );
-
- (* FW= *)
- Get_Parameter( 26 , S );
- WRITELN( Config_File , Param_Names_2[26], '=', S );
-
- (* FM= *)
- Get_Parameter( 33 , S );
- WRITELN( Config_File , Param_Names_2[33], '=', S );
-
- (* FS= *)
- Get_Parameter( 68 , S );
- WRITELN( Config_File , Param_Names_2[68], '=', S );
-
- FOR I := 1 TO Max_Param_Names DO
- Written[I] := FALSE;
- (* Indicate we've written these *)
- Written[ 24] := TRUE;
- Written[ 25] := TRUE;
- Written[ 26] := TRUE;
- Written[ 33] := TRUE;
- Written[ 68] := TRUE;
- (* Don't write obsolete params *)
- Written[101] := TRUE;
- (* Don't write FN, PD, or HP now *)
- Written[140] := TRUE;
- Written[165] := TRUE;
- Written[173] := TRUE;
- (* Write file transfer definitions *)
-
- FOR I := ORD( Zmodem ) TO ORD(PUser5) DO
- BEGIN
- T := Transfers[SUCC(I)];
- SName := TRIM( Send_Script_Names[T] );
- RName := TRIM( Receive_Script_Names[T] );
- IF ( ( LENGTH( SName ) > 0 ) OR
- ( LENGTH( RName ) > 0 ) ) THEN
- BEGIN
- IF Single_File_Protocol[T] THEN
- SingleF := 'S'
- ELSE
- SingleF := 'B';
- IF ( SName = '' ) THEN SName := '*';
- IF ( RName = '' ) THEN RName := '*';
- IF ( Trans_OK_In_Host[T] ) THEN
- HostOK := 'H'
- ELSE
- HostOK := 'T';
- WRITELN( Config_File, 'PD=', Trans_Type_Name[T], ' ',
- LTrim(Transfer_Name_List[SUCC(I)]), ' ',
- SingleF, ' ',
- HostOK, ' ',
- RName, ' ', SName );
- END;
- END;
- (* Write other parameter definitions *)
-
- FOR I := 1 TO Max_Param_Names DO
- IF ( NOT Written[I] ) THEN
- BEGIN
- Get_Parameter( I , S );
- WRITELN( Config_File , Param_Names_2[I], '=', S );
- END;
-
- END (* Write configuration file *);
-
- (*$I-*)
- CLOSE( Config_File );
- (*$I+*)
-
- I := Int24Result;
-
- END (* Write_Config_File *);
-